package com.leo.quartz.service;

import com.leo.base.BaseResponse;
import com.leo.base.PageResponse;
import com.leo.base.ReturnResponse;
import com.leo.quartz.common.request.MyJobRequestParam;
import com.leo.quartz.common.response.task.MyJobVO;

/**
 * 任务Service
 *
 * @author liusl
 * @version 1.0
 * @date 2018/12/8 17:17
 */
public interface JobService {

    /**
     * 获取Job列表
     *
     * @param params 参数
     * @return PageResponse<MyJobVO>
     */
    PageResponse<MyJobVO> queryMyJobList(MyJobRequestParam params);

    /**
     * 通过Id删除任务信息
     *
     * @param id id
     * @return ReturnResponse
     */
    ReturnResponse removeJob(Long id);

    /**
     * 通过Id获取一个Job
     *
     * @param id id
     * @return BaseResponse<MyJobVO>
     */
    BaseResponse<MyJobVO> getJobById(Long id);

    /**
     * 修改job
     *
     * @param param 参数
     * @return ReturnResponse
     */
    ReturnResponse editJob(MyJobRequestParam param);

    /**
     * 添加job
     *
     * @param param 参数
     * @return ReturnResponse
     */
    ReturnResponse addJob(MyJobRequestParam param);
}
